---
title: Dependencies
summary: Internal projects, external packages, framework components, and the wrapped API for PdfAPI.Client.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-17
---

# Dependencies

`PdfAPI.Client` declares three package dependencies in its shipped manifest, references one in-repository project, and depends on the `PdfAPI` REST API for all five remote members.

## Internal dependencies

| Dependency | Reference Type | Project path | Usage |
| --- | --- | --- | --- |
| `SAIF.Web.API.Clients` | NuGet Package | — | `JsonHttpClient` transport and `ClientInfo` caller identity |
| `SAIF.Framework.Common` | NuGet Package | — | Shared framework types required by every client package |
| [`PdfAPI.Core`](../../libraries/pdfapi-core/overview.md) | Project Reference | `PdfAPI.Core\PdfAPI.Core.csproj` | Request and response contracts shared with the API, plus the `PdfClientService` collaborator backing all six local members — see [Contracts](contracts.md) |

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| `iTextSharp` | `5.5.11` | Required by the in-process `PdfClientService` members shipped inside `PdfAPI.Core`; this dependency travels to every consumer of `PdfAPI.Client` |

## Transitive dependencies

| Dependency | Source framework | Type | Usage |
| --- | --- | --- | --- |
| `JsonHttpClient` | `SAIF.Web.API.Clients` | Transitive | JSON transport, serialization, and the `PostJson`/`GetResult` result envelope |
| `ClientInfo` | `SAIF.Web.API.Clients` | Transitive | Caller identity attached to each request |
| `Newtonsoft.Json` (`8.0.3`) | `SAIF.Web.API.Clients` | Transitive | No direct usage in client code; serialization is performed inside `JsonHttpClient`* |
| `RestSharp` (`106.12.0`) | `SAIF.Web.API.Clients` | Transitive | No direct usage in client code; transport implementation detail of `JsonHttpClient`* |

`PdfAPI.Client\app.config` pins a binding redirect for `RestSharp` to `106.11.7.0` while the project references `106.12.0` — a version mismatch recorded on [Tech debt](tech-debt.md).

## API dependencies

Every remote member of this client depends on the wrapped API. The full member-to-endpoint mapping is on the [Endpoint map](endpoint-map.md); this table records the API as a dependency.

| API | Base URL source | Version prefix | Documented by this run | Usage |
| --- | --- | --- | --- | --- |
| [PdfAPI](../../apis/pdfapi/index.md) | Caller-supplied constructor argument | `v1/` | Yes | `Convert` (both overloads), `Merge`, `IsPdfa`, `Track` |

## Dependency risks and notes
- `iTextSharp 5.5.11` is a third-party PDF library declared directly in the client's nuspec — it
  travels to every consumer of `PdfAPI.Client`, not just to `PdfAPI.Core`'s own build.
- `Autofac 3.5.2` and `log4net 2.0.5` are compile-time project references with no `ContainerBuilder`
  registration and no logging call anywhere in the client — both are unused dependencies. Neither is declared in the shipped nuspec, so consumers do not inherit them; recorded here as a build-time-only finding.
- The nuspec's open `version="1.0"` lower bound for `SAIF.Framework.Common` and
  `SAIF.Web.API.Clients` differs from the restored `2.0.22074.3` / `2.0.22307.1` versions the project actually compiles against — a consumer resolving the oldest satisfying version could receive a materially older transport implementation than the one this client was built and tested against.

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Package](package.md)
- [Client reference](reference.md)
- [Endpoint map](endpoint-map.md)
- [Consumption](consumption.md)
- [Contracts](contracts.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `Scripts\PdfAPI.Client\PdfAPI.Client.nuspec`
- `PdfAPI.Client\PdfAPI.Client.csproj`
- `PdfAPI.Client\packages.config`
- `PdfAPI.Client\app.config`
- `PdfAPI.Core\Services\PdfClientService.cs`
